Software can be hard to create, but easy to copy. Creating a good software application can often take hundreds or thousands of hours, but a nefarious user with a basic computer can sometimes copy that same work product in seconds. Copyright law provides a measure of legal protection, but it cannot directly prevent unauthorized parties from making copies of a publisher's software. Therefore, in many cases, copyright protection alone may not be good enough.
Some software publishers have implemented technical hurdles to deter unauthorized copying of their software and other content—e.g., using copy protection schemes or various digital rights management (DRM) systems. One such example of a copy protection scheme is known as forward locking, which may be used, for example, to protect against unauthorized copying of software applications that third-parties may sell through an application store. Using the forward locking approach, a client device downloads requested software from the application store into a protected space on the device where the application binaries cannot be easily accessed by the user. Such an approach may involve duplicating non-executable resources, which for some applications (such as games) can extensively increase their installation size. Even more importantly, such an approach can, in certain instances, be overcome on devices, such as smart phones, that have been “unlocked” for development purposes, leaving the application binaries vulnerable to being copied off of the devices.